1. Field
Embodiments of the invention relate to the field of computer systems architecture. More specifically, embodiments of the invention relate to the field of command queuing.
2. Background Information
Native Command Queuing (NCQ) is an optional feature described, for example, in the document Serial ATA II: Extensions to Serial ATA 1.0a, and related documents. In brief, NCQ may allow a target device to accept multiple outstanding commands from an initiator device, and to optimize or otherwise re-order the execution of those commands.
The commands in NCQ may include a tag value that may identify the command. Conventionally, much of the processing of the NCQ tag on the host-side is implemented in application layer software or firmware, such as, for example, a driver that is executed by a host-side processor. One potential problem with such an implementation is that the software or firmware may tend to increase the load on the processor, or otherwise limit performance.